package main

import (
	"afupanel/controller"
	"afupanel/service"
	_ "afupanel/service"
	"fmt"
	"github.com/gin-gonic/gin"
	"io"
	"net/http"
	"os"
)

func main() {
	// 设置日志文件
	f, _ := os.Create("afupanel.log")
	gin.DefaultWriter = io.MultiWriter(f, os.Stdout)
	r := gin.New()
	// 设置中间件
	// 使用gin的日志系统
	r.Use(gin.Logger())
	// 使用恢复系统
	r.Use(gin.Recovery())
	// 设置html路径
	r.Static("/assets", "./statics/assets")
	r.LoadHTMLGlob("templates/**/*")
	r.GET("/", func(context *gin.Context) {
		context.HTML(http.StatusOK, "index.html", nil)
	})
	// 设置路径
	v1 := r.Group("/v1")
	v2 := r.Group("/v2")
	page := r.Group("/page")
	controller.GroupV1(v1)
	controller.GroupV2(v2)
	controller.PageGroup(page)
	// 启动
	// 获取数据库里的配置
	_, port, err := service.GetValue("DEFAULT_PORT")
	if err != nil {
		fmt.Println(err)
		port = "9090"
	}
	err = r.Run(":" + port)
	if err != nil {
		os.Exit(-1)
	}
}
